<template>
    <div>
         <!-- 面包屑导航区域 -->
    <el-breadcrumb separator="/">
      <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
      <el-breadcrumb-item><a href="/">数据统计</a></el-breadcrumb-item>
      <el-breadcrumb-item>数据报表</el-breadcrumb-item>
    </el-breadcrumb>
    <!-- 卡片视图区域 -->
    <el-card>
        <div id="main" style="width: 800px;height:400px;"></div>
    </el-card>
    </div>
</template>

<script>
// 导入echarts图表
// 这里前面加一个(* as)不加的话因为版本问题加载不出来
// 至于为什么请看echarts官网的在 webpack 中使用 echarts”
import * as echarts from 'echarts'
// 引入拷贝方法
import _ from 'lodash'
export default {
  name: 'WorkspaceJsonReport',
  data () {
    return {
      // 需要合并的数据
      options: {
        title: {
          text: '用户来源'
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'cross',
            label: {
              backgroundColor: '#E9EEF3'
            }
          }
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true
        },
        xAxis: [
          {
            boundaryGap: false
          }
        ],
        yAxis: [
          {
            type: 'value'
          }
        ]
      }
    }
  },
  // 当页面上元素加载完成后初始化echarts图表
  async mounted () {
    // 基于准备好的dom，初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'))
    const { data: res } = await this.$http.get('reports/type/1')
    if (res.meta.status !== 200) return this.$message.error(res.meta.msg)
    this.$message.success(res.meta.msg)
    // 准备数据和配置项
    // 指定图表的配置项和数据
    // var option = {
    //   title: {
    //     text: 'ECharts 入门示例'
    //   },
    //   tooltip: {},
    //   legend: {
    //     data: ['销量']
    //   },
    //   xAxis: {
    //     data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
    //   },
    //   yAxis: {},
    //   series: [{
    //     name: '销量',
    //     type: 'bar',
    //     data: [5, 20, 36, 10, 10, 20]
    //   }]
    // }
    // 使用刚指定的配置项和数据显示图表。

    // 合并返回的值以及我们定义的值
    const result = _.merge(res.data, this.options)
    // 这里直接用返回的值就行了
    myChart.setOption(result)
  },
  methods: {
  }
}
</script>

<style lang="scss" scoped>

</style>
